SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS OFF
GO

CREATE PROCEDURE [dbo].[paActualizarCUILTipoAgente]

@Documento INT = NULL,
@Afiliado INT = NULL,
@TipoAgente INT,
@CUILIngresado VARCHAR(11) = NULL ,
@Estado INT OUTPUT, 
@Diagnostico VARCHAR(1000) OUTPUT 

AS

SET @Estado = 1
SET @Diagnostico = ' El Tipo De Agente y/o CUIL fue Actualizado correctamente.'

IF @Documento IS NULL
	SELECT TOP 1  @Documento = A.Documento 
		FROM tb_Agentes A 
		INNER JOIN tb_Afiliaciones Af ON A.idAgente = Af.idAgente 
	
-- Buscar que el documento sea parte del CUIL
IF @CUILIngresado IS NOT NULL

	BEGIN
		DECLARE @DocumentoEnCuil INT

		SET @DocumentoEnCuil = convert(INT,substring(@CUILIngresado, 3,8))

		IF @DocumentoEnCuil <> @Documento
			BEGIN 
				SET @Estado = 2
				SET @Diagnostico  = ' Error el CUIL ingresado no se corresponde con el Documento del Agente'
				GOTO Salir
			END

		IF dbo.validacuil(@CuilIngresado)<>1
			BEGIN 
				SET @Estado = 2
				SET @Diagnostico  = ' Error el CUIL ingresado NO ES VALIDO.'
				GOTO Salir
			END
		
		update tb_agentes set Cuil=@CuilIngresado,EstadoCuil=1 where Documento=@Documento
	END 

update tb_agentes set TipoAgente=@TipoAgente where Documento=@Documento

SALIR:
GO
